package com.biz.primus.model.oms.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AccessLevel;
import lombok.Data;
import lombok.experimental.FieldDefaults;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @author yanweijin
 * @date 2017/10/31
 */

@Data
@ApiModel("oms支付信息")
@FieldDefaults(level = AccessLevel.PRIVATE)
public class OmsPaymentVo {

	@ApiModelProperty("支付方式")
	String paymentWay;

	@ApiModelProperty("支付单编号(唯一标识)")
	String paymentCode;

	@ApiModelProperty("支付金额")
	Integer paidAmount;

	@ApiModelProperty(value = "支付时间,yyyy-MM-dd HH:mm:ss", dataType = "java.lang.String", example = "2017-12-11 10:09:08")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	LocalDateTime paidTime;

	@ApiModelProperty("第三方支付系统交易流水号")
	String tradeNo;



	//============以下属性是线下订单特有参数,其他渠道不必传

	@ApiModelProperty("【POS用参数】POS支付行号")
	Integer rowNo;

	@ApiModelProperty("【POS用参数】POS标识:2-普通付款,3-扣回")
	String flag;

	@ApiModelProperty("【POS用参数】付款类型")
	String paymentType;

	@ApiModelProperty("【POS用参数】付款券种、积分种类")
	String copType;

	@ApiModelProperty("【POS用参数】汇率")
	BigDecimal rate;

	@ApiModelProperty("【POS用参数】原币金额")
	Integer paidOriginCurrency;

	@ApiModelProperty("【POS用参数】（储值卡、银行卡等）付款卡号")
	String payCardNo;


	@ApiModelProperty("【POS用参数】余额（储值卡）")
	Integer balance;

}
